﻿using DynamicProxy;
// 创建原始服务实例
IOrderService orderService = new OrderService();
// 创建代理（自动添加AOP功能）
IOrderService proxy = ProxyGeneratorFactory.CreateProxy(orderService);
// 使用代理调用方法
proxy.PlaceOrder("笔记本电脑", 2);
try
{
    var total = proxy.CalculateTotal(5999m, 3);
    Console.WriteLine($"总金额: {total}");
    // 这个调用会抛出异常。设置了数量不能小于0
    proxy.CalculateTotal(5999m, -1);
}
catch (Exception ex)
{   //成功拦截到了异常
    Console.WriteLine($"主程序捕获异常: {ex.Message}");
}